from sw_server import *
def createbox(l=22,w=33,h=44):
    swPart, swModel =get_swmodel()
    l=l/1000
    w=w/1000
    h=h/1000
    # 选择基准面（英文版用 "Front Plane"，中文版用 "前视基准面"）
    # plane_name = "Front Plane"  # 英文版
    plane_name = "前视基准面"  # 中文版

    status = swModel.Extension.SelectByID2(
        plane_name, "PLANE",
        0, 0, 0,      # 坐标
        False,        # 不追加
        0,            # Mark
        arg_Nothing,         # Callout
        0             # Position
    )

    if not status:
        print("❌ 选择基准面失败！")
    else:
        print("✅ 成功选中基准面")

    # 进入草图
    sketchMgr = swModel.SketchManager
    sketchMgr.InsertSketch(True)

    # ✅ 使用 SketchRectangle 画矩形
    swModel.SketchRectangle(0, 0, 0, l, w, 0, 0) # 前两个参数为起始点坐标，中间两个为终点坐标x,y,z增量

    # 退出草图
    sketchMgr.InsertSketch(True)

    # 拉伸成 50mm 立方体
    featMgr = swModel.FeatureManager
    feature = featMgr.FeatureExtrusion2(
        True,           # Sd: 使用草图
        False,          # Flip: 不反向
        False,          # Dir: 不双向
        0,              # T1: 给定深度
        0,              # T2: 第二方向条件
        h,           # D1: 深度 50mm
        0.0,            # D2: 第二深度
        False,          # Dchk1: 不完全贯穿
        False,          # Dchk2: 不完全贯穿
        False,          # Ddir1: 不反向
        False,          # Ddir2: 不反向
        0.0,            # Dang1: 无拔模
        0.0,            # Dang2: 无拔模
        False,          # OffsetReverse1
        False,          # OffsetReverse2
        False,          # TranslateSurface1
        False,          # TranslateSurface2
        False,          # Merge: 新实体（非合并）
        False,          # UseFeatScope
        True,           # UseAutoSelect
        0,              # T0: 起始条件 = 从零开始
        0.0,            # StartOffset
        False           # FlipStartOffset
    )
    if feature is not None:
        print("🎉 立方体创建成功！")
        return "🎉 立方体创建成功！"
    else:
        print("❌ 拉伸失败。")
        return "❌ 拉伸失败。"
    

